//
//  YWWorkReminderDBManager.h
//  maintain
//
//  Created by Kyo on 16/8/31.
//  Copyright © 2016年 ewin. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "YWSingleton.h"

@class YWReminder;
@class YWReminderList;

@interface YWWorkReminderDBManager : NSObject
YWSingletonH(Manager)

/**
 *  删除掉之前老的工作提醒表(提醒重构后，使用新的reminder表)
 *
 *  @return 结果
 */
- (void)dropWorkReminderTable;
///**
// *  创建工作提醒表
// *
// *  @return 结果
// */
//- (BOOL)createWorkReminderTable;
//
//
///**
// *  更新提醒
// *
// *  @param workReminder 提醒model
// *
// *  @return 结果
// */
//- (BOOL)updateWorkReminder:(YWWorkReminder*)workReminder;
///**
// *  更新提醒
// *
// *  @param workReminderArray 提醒model数组
// *
// *  @return 结果
// */
//- (BOOL)updateWorkReminderWithArray:(NSArray*)workReminderArray;
///**
// *  获取最新一条提醒
// *
// *  @return 结果
// */
//- (YWWorkReminder*)theLatestWorkReminder;
///**
// *  获取工作提醒
// *
// *  @param page 页数
// *
// *  @return 结果
// */
//- (NSArray *)workReminderWithPage:(NSInteger)page;
///**
// *  更新提醒为已读状态
// *
// *  @return 无
// */
//- (BOOL)updateReadStatusWithWorkReminder:(YWWorkReminder*)workReminder;


/**
 *  创建提醒表
 *
 *  @return 结果
 */
- (BOOL)createReminderTable;
/**
 *  更新提醒
 *
 *  @param reminder 提醒模型
 *
 *  @return 结果
 */
- (BOOL)updateReminder:(YWReminder*)reminder;
/**
 *  更新提醒
 *
 *  @param reminderArray 提醒数组
 *
 *  @return 结果
 */
- (BOOL)updateReminderWithArray:(NSArray*)reminderArray;
/**
 *  获取提醒
 *
 *  @param page 页数
 *
 *  @return 结果
 */
- (NSArray *)reminderWithPage:(NSInteger)page;
/**
 *  获取提醒
 *
 *  @param reminderType 提醒的类型
 *  @param page 页数
 *
 *  @return 结果
 */
- (NSArray *)reminderWithType:(NSInteger)reminderType page:(NSInteger)page;

- (BOOL)existUploadFailedMissions;

- (BOOL)updateReminderIsReadStatus;

- (NSInteger)countOfUnreadReminder;


/**
 *  创建提醒总数表
 *
 *  @return 结果
 */
- (BOOL)createReminderCountTable;
/**
 *  更新提醒总数
 *
 *  @return 结果
 */
- (BOOL)updateReminderTotalCount:(YWReminderList*)reminderList;
/**
 *  更新提醒上一次的总数
 *
 *  @return 结果
 */
- (BOOL)updateReminderLastTotalCountWithType:(NSInteger)reminderType;
/**
 *  获取提醒列表数据
 *
 *  @return 结果
 */
- (NSArray *)reminderListDateArray;
/**
 *  所有未读提醒数量
 *
 *  @return 结果
 */
- (NSInteger)unreadRemindTotalCount;
/**
 *  创建工作日报表
 *
 *  @return 结果
 */
- (BOOL)createDayReportTable;
/**
 *  更新工作日报表
 *
 *  @return 结果
 */
- (BOOL)updateDailyReportWithDailyArray:(NSArray*)dailyArray;
/**
 *  获取工作日报
 *
 *  @return 包含楼盘、工作日报
 */
- (NSMutableDictionary*)dailyReportArrayWithDailyDate:(NSString*)analysisDate;
@end
